package com.xiaoxx.coin.po.res;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class CurrentAllOpenOrdersResponse {
    @ApiModelProperty(value = "平均成交价", example = "0.00000")
    private String avgPrice;

    @ApiModelProperty(value = "用户自定义的订单号", example = "abc")
    private String clientOrderId;

    @ApiModelProperty(value = "成交金额", example = "0")
    private String cumQuote;

    @ApiModelProperty(value = "成交量", example = "0")
    private String executedQty;

    @ApiModelProperty(value = "系统订单号", example = "1917641")
    private Long orderId;

    @ApiModelProperty(value = "原始委托数量", example = "0.40")
    private String origQty;

    @ApiModelProperty(value = "触发前订单类型", example = "TRAILING_STOP_MARKET")
    private String origType;

    @ApiModelProperty(value = "委托价格", example = "0")
    private String price;

    @ApiModelProperty(value = "是否仅减仓", example = "false")
    private boolean reduceOnly;

    @ApiModelProperty(value = "买卖方向", example = "BUY")
    private String side;

    @ApiModelProperty(value = "持仓方向", example = "SHORT")
    private String positionSide;

    @ApiModelProperty(value = "订单状态", example = "NEW")
    private String status;

    @ApiModelProperty(value = "触发价，对`TRAILING_STOP_MARKET`无效", example = "9300")
    private String stopPrice;

    @ApiModelProperty(value = "是否条件全平仓", example = "false")
    private boolean closePosition;

    @ApiModelProperty(value = "交易对", example = "BTCUSDT")
    private String symbol;

    @ApiModelProperty(value = "订单时间", example = "1579276756075")
    private Long time;

    @ApiModelProperty(value = "有效方法", example = "GTC")
    private String timeInForce;

    @ApiModelProperty(value = "订单类型", example = "TRAILING_STOP_MARKET")
    private String type;

    @ApiModelProperty(value = "跟踪止损激活价格，仅`TRAILING_STOP_MARKET` 订单返回此字段", example = "9020")
    private String activatePrice;

    @ApiModelProperty(value = "跟踪止损回调比例，仅`TRAILING_STOP_MARKET` 订单返回此字段", example = "0.3")
    private String priceRate;

    @ApiModelProperty(value = "更新时间", example = "1579276756075")
    private Long updateTime;

    @ApiModelProperty(value = "条件价格触发类型", example = "CONTRACT_PRICE")
    private String workingType;

    @ApiModelProperty(value = "是否开启条件单触发保护", example = "false")
    private boolean priceProtect;

    @ApiModelProperty(value = "价格匹配模式", example = "NONE")
    private String priceMatch;

    @ApiModelProperty(value = "自我交易预防模式", example = "NONE")
    private String selfTradePreventionMode;

    @ApiModelProperty(value = "订单预设自动取消时间", example = "0")
    private Long goodTillDate;
}
